iT邦幫忙

2025 iThome 鐵人賽

DAY 19
0
自我挑戰組

30 天全面認識 Python系列 第 19

Day 19:檔案操作與基礎 I/O

  • 分享至 

  • xImage
  •  

為什麼要學檔案操作?

到目前為止,我們寫的程式大多只處理記憶體裡的資料,但在現實世界中,資料往往來自於檔案:例如設定檔、文字紀錄、CSV 資料表、甚至程式運行日誌。掌握檔案操作,就能讓程式讀取與保存真實世界的資料,而不只是單純輸入與輸出。

開啟與讀取檔案

Python 內建的 open() 函式是進入檔案世界的入口。基本語法如下:

f = open("example.txt", "r", encoding="utf-8")
content = f.read()
print(content)
f.close()

這裡 "r" 代表讀取模式(read),建議加上 encoding="utf-8" 以避免亂碼問題。

常見讀取方式

f = open("example.txt", "r", encoding="utf-8")
print(f.read())        # 一次讀取整份檔案
f.seek(0)              # 游標移回開頭
print(f.readline())    # 讀取一行
print(f.readlines())   # 讀取所有行,回傳 list
f.close()

使用 with 語法(最佳實踐)

每次打開檔案都要記得關閉,否則可能造成資源浪費。with 可以自動幫你管理:

with open("example.txt", "r", encoding="utf-8") as f:
    for line in f:
        print(line.strip())

這種寫法不需要手動呼叫 close(),是最推薦的方式。

寫入檔案

模式 "w" 表示寫入(write),會覆蓋檔案;"a" 表示附加(append),會在原本內容後面繼續寫:

with open("output.txt", "w", encoding="utf-8") as f:
    f.write("這是第一行\n")
    f.write("這是第二行\n")

with open("output.txt", "a", encoding="utf-8") as f:
    f.write("新增一行內容\n")

文字處理與檔案結合

前兩天我們練習過字串處理,現在可以結合起來。比如,統計檔案裡有多少單字:

with open("example.txt", "r", encoding="utf-8") as f:
    text = f.read()

words = text.split()
print(f"檔案總共有 {len(words)} 個單字")

今日小挑戰

  • 建立一個文字檔 diary.txt,用程式寫入一段日記內容
  • 讀取檔案內容,統計它總共有多少行文字
  • 嘗試使用 with open() 來讀寫,並確保程式執行後檔案正確更新

透過這個練習,你會熟悉 讀寫檔案的基本流程,並理解「資料如何從程式流向硬碟,再從硬碟回到程式」。這是未來操作 CSV、JSON 甚至資料庫的基礎。完成後,你就能建立一個簡單的「文字資料儲存系統」,讓程式和真實世界產生連結。
--- by Ricky


上一篇
Day 18:進階字串技巧
下一篇
Day 20:集合(Set)的基礎操作
系列文
30 天全面認識 Python28
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言